package pantallas;
import java.awt.Choice;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JFrame;
import control.*;
public class PantallaCrearPartida implements ActionListener, WindowListener {

/************atributos*******************************************/
    private ManejadorCrearPartida mcp;
    public JFrame ventanaCrear;
    
    private Choice cantidadJugadores;
    private Choice tipoEscenario;
    private TextField ip;

/*****************************************************************/
    
/************metodos**********************************************/
    public PantallaCrearPartida() {}
    public PantallaCrearPartida(ManejadorCrearPartida mcp) {
        this.mcp = mcp;
        crearPantalla();
        mostrarPantalla();
    }

    public void crearPantalla (){
        ventanaCrear = new JFrame("Crear Partida");
        ventanaCrear.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        ventanaCrear.setBounds(100, 100, 400, 320);
        ventanaCrear.getContentPane().setLayout(null);
        ventanaCrear.addWindowListener(this);

        JLabel crearPartida = new JLabel("Crear Nueva Partida:");
        crearPartida.setBounds(15, 10, 150, 20);
        ventanaCrear.getContentPane().add(crearPartida);

        JLabel txt0 = new JLabel("Tipo de Escenario;");
        txt0.setBounds(15, 100, 150, 20);
        ventanaCrear.getContentPane().add(txt0);

        tipoEscenario = new Choice();
        tipoEscenario.addItem("1");
        tipoEscenario.addItem("2");
        tipoEscenario.setBounds(170, 100, 100, 20);
        ventanaCrear.getContentPane().add(tipoEscenario);

        JLabel txt1 = new JLabel("Direccion del Servidor:");
        txt1.setBounds(15, 130, 150, 20);
        ventanaCrear.getContentPane().add(txt1);

        ip = new TextField("localhost");
        ip.setBounds(170, 130, 110, 20);
        ventanaCrear.getContentPane().add(ip);

        JLabel txt3 = new JLabel("Cantidad de Jugadores");
        txt3.setBounds(15, 160, 150, 20);
        ventanaCrear.getContentPane().add(txt3);

        cantidadJugadores = new Choice();
        cantidadJugadores.addItem("2");
        cantidadJugadores.addItem("3");
        cantidadJugadores.addItem("4");
        cantidadJugadores.setBounds(170, 160, 100, 20);
        ventanaCrear.getContentPane().add(cantidadJugadores);

        JButton aceptar = new JButton("Aceptar");
        aceptar.setBounds(100, 250, 80, 20);
        ventanaCrear.getContentPane().add(aceptar);
        aceptar.setMnemonic(KeyEvent.VK_A);/*Dice que apretando la A se pulsa el boton*/
        aceptar.setActionCommand("aceptar");
        aceptar.addActionListener(this);

        JButton cancelar = new JButton("Cancelar");
        cancelar.setBounds(200, 250, 90, 20);
        ventanaCrear.getContentPane().add(cancelar);
        cancelar.setMnemonic(KeyEvent.VK_C);/*Dice que apretando la C se pulsa el boton*/
        cancelar.setActionCommand("cancelar");
        cancelar.addActionListener(this);
    }
    public void mostrarPantalla(){
        ventanaCrear.setVisible(true);
    }
    public void ocultarPantalla(){
        ventanaCrear.setVisible(false);
    }
    public void actionPerformed(ActionEvent e) {
        if ("cancelar".equals(e.getActionCommand())) {
            ocultarPantalla();
            mcp.mostrarPantallaPrincipal();
         }
        if ("aceptar".equals(e.getActionCommand())){
            mcp.generadorPartida();
        }  
    }

    public int getCantJugadores() {
        return cantidadJugadores.getSelectedIndex();
    }
    public String getIP() {
        return ip.getText();
    }
    public int getTipoEscenario() {
        return tipoEscenario.getSelectedIndex();
    }
    
    public void windowOpened(WindowEvent e) { }
    public void windowClosing(WindowEvent e) { System.exit(0); }
    public void windowClosed(WindowEvent e) { System.exit(0); }
    public void windowIconified(WindowEvent e) { }
    public void windowDeiconified(WindowEvent e) { }
    public void windowActivated(WindowEvent e) { }
    public void windowDeactivated(WindowEvent e) { }
/*****************************************************************/
    }
